home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Item MB Quick & Easy 2.0
/
Item MB Quick & Easy 2.0.iso
/
mbfacad
/
eaitstd1.lsp
< prev
next >
Wrap
Text File
|
1998-03-15
|
42KB
|
1,374 lines
;DXF-Daten aus einem Element lesen
(defun EAITdxf (AIT_co AIT_cl)
(cdr (assoc AIT_co AIT_cl))
);defun EAITdxf
;SETUP laden und ausfⁿhren
(load (strcat EAITpfn "EAITset"))
(EAITset)
(defun EAITdim (AIT_x)
;Variablen OK?
(if (not EAITpm)(setq EAITpm "1"))
(if (not EAITds)(setq EAITds "2D"))
(if (not AIT_x) (setq AIT_x EAITds))
;umschalten (2D mit BKS-Prüfung)
(cond ((= AIT_x "3D")(if (not EAITzst)(load (strcat EAITpfn "EAITstd3")))
(setq EAITds "3D")
(setq EAITuicon (getvar "UCSICON"))
;BKS-Symbol einschalten
(setvar "UCSICON" 1)
;(command EAITbsy EAITbke)
;(command EAITbsy EAITbei)
)
(T (if (not EAITkoor)(load (strcat EAITpfn "EAITstd2")))
(if (NOT (numberp (EAITkoor)))(princ))
(setvar "UCSICON" EAITuicon)
(setq EAITds "2D")
)
)
;SCREEN
(menucmd (strcat "s=" EAITds "-screen"))
(menucmd "s=*")
;Popup
(load (strcat EAITpfn "EAIT" EAITds EAITpm))
(menucmd (strcat "p1=" EAITds "-system"))
(princ)
); defun EAITdim
;Merker AIT_st -> S ichern L esen M anuell AIT_me -> Menü oder nil
(defun EAITmkr (AIT_st AIT_me / AIT-bl AIT-dia AIT-e AIT-e1 AIT-e2 AIT-e3 AIT-e4
AIT-e5 AIT-e6 AIT-e7 AIT-e8 AIT-e9 MER DAT1)
;Papierbereichs-Faktor:
(if (= EAITms 0.0)(setq EAITms 1.0))
(setq AIT-dia (getvar "ATTDIA"))
(setvar "ATTDIA" 0)
(setq AIT-bl (ssget "X" '((0 . "INSERT")(2 . "EAITMERK"))))
(if (not AIT-bl)
(progn ;falls keiner da...hier Anfangswerte hinterlegen
(command EAITege (strcat EAITpfm "EAITmerk") '(0 0) "" "" """" "" "" "" "" "" "" "" "")
(setq MER (tblsearch "BLOCK" "EAITMERK")
DAT1 (entget (EAITDXF -2 MER))
)
(EAITmkum DAT1)
(setq AIT-bl (ssget "X" '((0 . "INSERT")(2 . "EAITMERK"))) )
);progn if T
(progn ;wenn alter Block ohne Anfragen vorhanden
(setq MER (tblsearch "BLOCK" "EAITmerk")
DAT1 (entget (EAITDXF -2 MER))
)
(if (= (EAITDXF 3 DAT1) "")
(EAITmkum DAT1)
);if
);progn if nil
);if (not AIT-bl)
;nur Merker-Block der Ursprungszeichnung bleibt, falls durch einfügen mehrere vorhanden
(while (> (sslength AIT-bl) 1)
(entdel (ssname AIT-bl 0))
(ssdel (ssname AIT-bl 0) AIT-bl)
)
;***************Felder auslesen
(setq DAT1 (entget (entnext (ssname AIT-bl 0))))
(while (= (EAITDXF 0 DAT1) "ATTRIB")
(cond ((OR (= (EAITDXF 2 DAT1) "EAITHAUPTMENUE")(= (EAITDXF 2 DAT1) "EAITHAUPTMENUE"))
(setq AIT-e1 (EAITdxf -1 DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITMASSTABSFAKTOR")(= (EAITDXF 2 DAT1) "EAITMASSTABSFAKTOR"))
(setq AIT-e2 (EAITdxf -1 DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITLETZTE-POSITION")(= (EAITDXF 2 DAT1) "EAITLETZTE-POSITION"))
(setq AIT-e3 (EAITdxf -1 DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITBEM_NACHKOMMA")(= (EAITDXF 2 DAT1) "EAITBE_NACHKOMMA"))
(setq AIT-e4 (EAITdxf -1 DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITPOSORT")(= (EAITDXF 2 DAT1) "EAITPOSORT"))
(setq AIT-e5 (EAITdxf -1 DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITML3")(= (EAITDXF 2 DAT1) "EAITML3"))
(setq AIT-e6 (EAITdxf -1 DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITMERKER-7")(= (EAITDXF 2 DAT1) "EAITMERKER-7"))
(setq AIT-e7 (EAITdxf -1 DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITMERKER-8")(= (EAITDXF 2 DAT1) "EAITMERKER-8"))
(setq AIT-e8 (EAITdxf -1 DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITMERKER-9")(= (EAITDXF 2 DAT1) "EAITMERKER-9"))
(setq AIT-e9 (EAITdxf -1 DAT1))
)
);cond
(setq DAT1 (entget (entnext (EAITdxf -1 DAT1))))
);while
(cond
((= AIT_st "B")(progn
(setq AIT-e (entget AIT-e2))
(setq AIT-e (subst (cons 1 (rtos EAITms 2 ))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
(setvar "DIMSCALE" EAItms)
)
)
((= AIT_st "S")(progn
(setq AIT-e (entget AIT-e1))
(setq AIT-e (subst (cons 1 EAIThm)(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
(setq AIT-e (entget AIT-e2))
(setq AIT-e (subst (cons 1 (rtos EAITms 2 ))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
(setvar "DIMSCALE" EAItms)
(setq AIT-e (entget AIT-e3))
(setq AIT-e (subst (cons 1 (itoa EAITpos))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
(setq AIT-e (entget AIT-e4))
(setq AIT-e (subst (cons 1 (itoa EAITbemk))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
(if (/= EAITaver "12")
(progn
(setvar "DIMDEC" EAITbemk)
(setvar "DIMTDEC" EAITbemk)
)
)
(setq AIT-e (entget AIT-e5))
(setq AIT-e (subst (cons 1 (itoa EAITposs))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
(setq AIT-e (entget AIT-e6))
(setq AIT-e (subst (cons 1 (itoa EAITml3))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
(setq AIT-e (entget AIT-e7))
(setq AIT-e (subst (cons 1 EAITm7)(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
(setq AIT-e (entget AIT-e8))
(setq AIT-e (subst (cons 1 EAITm8)(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
(setq AIT-e (entget AIT-e9))
(setq AIT-e (subst (cons 1 EAITm9)(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
)
)
((= AIT_st "L")(if (/= (EAITdxf 1 (entget AIT-e1)) "")
(setq EAIThm (EAITdxf 1 (entget AIT-e1)))
(progn
(setq EAIThm "")
(setq AIT-e (entget AIT-e1))
(setq AIT-e (subst (cons 1 EAIThm)(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
)
)
(if (/= (EAITdxf 1 (entget AIT-e2)) "")
(progn
(setq EAITms (atof (EAITdxf 1 (entget AIT-e2))))
(setvar "DIMSCALE" EAITms)
)
(progn
(setq EAITms 1)
(setvar "DIMSCALE" EAITms)
(setq AIT-e (entget AIT-e2))
(setq AIT-e (subst (cons 1 (itoa EAITms))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
)
)
(if (/= (EAITdxf 1 (entget AIT-e3)) "")
(setq EAITpos (atoi (EAITdxf 1 (entget AIT-e3))))
(progn
(setq EAITpos 0)
(setq AIT-e (entget AIT-e3))
(setq AIT-e (subst (cons 1 (itoa EAITpos))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
)
)
(if (AND (/= (EAITdxf 1 (entget AIT-e4)) "")(/= (EAITdxf 1 (entget AIT-e4)) "-"))
(progn
(setq EAITbemk (atoi (EAITdxf 1 (entget AIT-e4))))
(if (/= EAITaver "12")
(progn
(setvar "DIMDEC" EAITbemk)
(setvar "DIMTDEC" EAITbemk)
)
)
)
(progn
(setq EAITbemk 0)
(if (/= EAITaver "12")
(progn
(setvar "DIMDEC" EAITbemk)
(setvar "DIMTDEC" EAITbemk)
)
)
(setq AIT-e (entget AIT-e4))
(setq AIT-e (subst (cons 1 (itoa EAITbemk))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
)
)
(if (AND (/= (EAITdxf 1 (entget AIT-e5)) "")(/= (EAITdxf 1 (entget AIT-e5)) "-"))
(setq EAITposs (atoi (EAITdxf 1 (entget AIT-e5))))
(progn
(setq EAITposs 0)
(setq AIT-e (entget AIT-e5))
(setq AIT-e (subst (cons 1 (itoa EAITposs))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
)
)
(if (AND (/= (EAITdxf 1 (entget AIT-e6)) "")(/= (EAITdxf 1 (entget AIT-e6)) "-"))
(setq EAITml3 (atoi (EAITdxf 1 (entget AIT-e6))))
(progn
(setq EAITml3 0)
(setq AIT-e (entget AIT-e6))
(setq AIT-e (subst (cons 1 (itoa EAITml3))(assoc 1 AIT-e) AIT-e))
(entmod AIT-e)
)
)
(setq EAITm7 (EAITdxf 1 (entget AIT-e7))
EAITm8 (EAITdxf 1 (entget AIT-e8))
EAITm9 (EAITdxf 1 (entget AIT-e9))
)
)
((= AIT_st "M")(merk))
)
(if AIT_me (menucmd AIT_me))
(setvar "ATTDIA" AIT-dia)
(princ)
);EAITmkr
;----------------------------------------------------------------------------
;Definieren der Funktion Herauslesen der Attribute EAITmerk
(defun ok_merk (/ ele1 ele2 ele3 ele4 ele5 eleatt1 eleatt2 attlist elelist
dat_zeig2 z1 ende n a0 a1 a2 a3 a4 a5 a6 a7 a8
aenderlist wert1 wert2 wert3 wert4 stichwort thema)
(setq ele1 (ssname asatz1 0)
ele2 (entnext ele1)
ele3 (entget ele2)
ele4 (cdr (assoc 0 ele3))
attlist (list)
eleatt1 (cdr (assoc 1 ele3))
eleatt2 (cdr (assoc 2 ele3))
elelist (list eleatt2 eleatt1)
attlist (cons elelist attlist)
)
(while (= ele4 "ATTRIB")
(setq
ele2 (entnext ele2)
ele3 (entget ele2)
ele4 (cdr (assoc 0 ele3))
)
(if (/= ele4 "SEQEND")
(progn
(setq
eleatt1 (cdr (assoc 1 ele3))
eleatt2 (cdr (assoc 2 ele3))
elelist (list eleatt2 eleatt1)
attlist (cons elelist attlist)
)
)
)
)
(setq attlist (reverse attlist))
(setq z1 0
ende nil
aenderlist (list)
a0 "nil" a1 "nil" a2 "nil" a3 "nil" a4 "nil" a5 "nil" a6 "nil"
a7 "nil" a8 "nil"
)
(setq dat_zeig2 (load_dialog (strcat EAITpfd "EAITem")))
(if (not (new_dialog "MERKER" dat_zeig2)) (exit))
(repeat (length attlist)
(setq elelist (nth z1 attlist)
eleatt1 (cadr elelist)
)
(set_tile (itoa z1) eleatt1)
(setq z1 (+ z1 1))
)
(setq thema (EAITmg "mb_mld21" "013");Allgemeiner Gebrauch der Hilfe
stichwort ":item1"
)
(action_tile "help" "(hilfe stichwort thema)")
(action_tile "0" "(setq a0 $value)")
(action_tile "1" "(setq a1 $value)")
(action_tile "2" "(setq a2 $value)")
(action_tile "3" "(setq a3 $value)")
(action_tile "4" "(setq a4 $value)")
(action_tile "5" "(setq a5 $value)")
(action_tile "6" "(setq a6 $value)")
(action_tile "7" "(setq a7 $value)")
(action_tile "8" "(setq a8 $value)")
(action_tile "accept" "(done_dialog 0)")
(action_tile "cancel" "(done_dialog 0)(setq ende \"ok\")")
(start_dialog)
(unload_dialog dat_zeig2)
(if (/= ende "ok")
(progn
(setq aenderlist (list a0 a1 a2 a3 a4 a5 a6 a7 a8)
z1 0
)
(repeat (length aenderlist)
(setq wert1 (nth z1 aenderlist)
wert2 (nth z1 attlist)
wert3 (cadr wert2)
z1 (+ z1 1)
)
(if (and (/= wert1 "nil") (/= wert1 wert3))
(aenderung_att)
)
)
)
)
);defun ok_merk
;----------------------------------------------------------------------------
;Definieren der Funktion zur Aenderung der Attribute in der Datenbank
(defun aenderung_att ()
(setq ele1 (ssname asatz1 0)
ele2 (entnext ele1)
ele3 (entget ele2)
ele4 (cdr (assoc 2 ele3))
ele5 (cdr (assoc 0 ele3))
)
(if (= ele4 (car wert2))
(progn
(setq ele3 (subst (cons 1 wert1) (cons 1 wert3) ele3))
(entmod ele3)
)
(progn
(while (= ele5 "ATTRIB")
(setq
ele2 (entnext ele2)
ele3 (entget ele2)
ele4 (cdr (assoc 2 ele3))
ele5 (cdr (assoc 0 ele3))
)
(if (/= ele5 "SEQEND")
(progn
(if (= ele4 (car wert2))
(progn
(setq ele3 (subst (cons 1 wert1) (cons 1 wert3) ele3))
(entmod ele3)
)
)
)
)
)
)
)
);defun aenderung_att
;----------------------------------------------------------------------------
;Definieren des Hauptprogrammes Merker - Schalter
(defun merk (/ asatz1)
(if (not (setq asatz1 (ssget "X" (list (cons 0 "INSERT") (cons 2 "EAITMERK")))))
(no_merk)
(ok_merk)
)
(print)
);defun merk
;----------------------------------------------------------------------------
;ENDE
;*******************************Merker-Block sprachabhaengig übersetzen
(defun EAITmkum ( DAT1 / )
(while (/= DAT1 nil)
(if (= (EAITDXF 0 DAT1) "ATTDEF")
(cond ((OR (= (EAITDXF 2 DAT1) "EAITHAUPTMENUE")(= (EAITDXF 2 DAT1) "EAITHAUTPMENUE"))
(entmod (subst (cons 3 (EAITmg "mb_mld20" "013"))(assoc 3 DAT1) DAT1))
)
((= (EAITDXF 2 DAT1) "EAITMASSTABSFAKTOR")
(entmod (subst (cons 3 (EAITmg "mb_mld20" "014"))(assoc 3 DAT1) DAT1))
)
((= (EAITDXF 2 DAT1) "EAITLETZTE-POSITION")
(entmod (subst (cons 3 (EAITmg "mb_mld20" "015"))(assoc 3 DAT1) DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITBEM_NACHKOMMA")(= (EAITDXF 2 DAT1) "EAITMERKER-4"))
(entmod (subst (cons 3 (EAITmg "mb_mld20" "016"))(assoc 3 DAT1) DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITPOSORT")(= (EAITDXF 2 DAT1) "EAITMERKER-5"))
(entmod (subst (cons 3 (EAITmg "mb_mld20" "017"))(assoc 3 DAT1) DAT1))
)
((OR (= (EAITDXF 2 DAT1) "EAITML3")(= (EAITDXF 2 DAT1) "EAITMERKER-6"))
(entmod (subst (cons 3 (EAITmg "mb_mld20" "018"))(assoc 3 DAT1) DAT1))
)
((= (EAITDXF 2 DAT1) "EAITMERKER-7")
(entmod (subst (cons 3 (EAITmg "mb_mld20" "019"))(assoc 3 DAT1) DAT1))
)
((= (EAITDXF 2 DAT1) "EAITMERKER-8")
(entmod (subst (cons 3 (EAITmg "mb_mld20" "020"))(assoc 3 DAT1) DAT1))
)
((= (EAITDXF 2 DAT1) "EAITMERKER-9")
(entmod (subst (cons 3 (EAITmg "mb_mld20" "021"))(assoc 3 DAT1) DAT1))
)
);cond
);if
(setq DAT1 (entnext (EAITDXF -1 DAT1)))
(if (/= DAT1 nil)(setq DAT1 (entget DAT1)))
);while
);defun EAITmkum
;Meldung aus Datenbank holen und als (princ) zurückgeben
(defun EAITmsg (AIT_db AIT_pb AIT_mg AIT_pe / AIT-da AIT-ze AIT-mg)
; (setq AIT-da (open (strcat EAITpfn "dat/" AIT_db ".dat") "r"))
(setq AIT-da (open (strcat EAITpfd AIT_db ".dat") "r"))
(if AIT-da
(progn
(setq AIT-ze (read-line AIT-da))
(while AIT-ze
(if (= (substr AIT-ze 1 3) AIT_mg)
(setq AIT-mg (substr AIT-ze 5 (- (strlen AIT-ze) 4)) AIT-ze nil)
(setq AIT-ze (read-line AIT-da))
)
)
(close AIT-da)
(if AIT_pb (princ AIT_pb)(princ))
(if AIT-mg (princ AIT-mg)(princ))
(if AIT_pe (princ AIT_pe)(princ))
)
(princ "\n\nCan't open message database!\n")
)
(princ)
);defun EAITmsg
;Meldung aus Datenbank holen und als STRING zurückgeben
(defun EAITmg (AIT_db AIT_mg / AIT-da AIT-ze AIT-mg)
(setq AIT-da (open (strcat EAITpfd AIT_db ".dat") "r"))
(if AIT-da
(progn
(setq AIT-ze (read-line AIT-da))
(while AIT-ze
(if (= (substr AIT-ze 1 3) AIT_mg)
(setq AIT-mg (substr AIT-ze 5 (- (strlen AIT-ze) 4)) AIT-ze nil)
(setq AIT-ze (read-line AIT-da))
)
)
(close AIT-da)
)
(princ "\n\nCan't open message database!\n")
)
(setq AIT-mg AIT-mg)
);defun EAITmg
;Details EIN/AUS, wenn "E" oder "A" ohne Meldung
(defun EAITdta (AIT_x / AIT-x)
(if (not AIT_x)
(progn
(setq AIT-x "J")
(if (OR (= (cdr (assoc 70 (tblsearch "layer" "EAIT3d_det"))) 64)
(= (cdr (assoc 70 (tblsearch "layer" "EAIT3d_det"))) 0))
(setq AIT_x "A")
(setq AIT_x "E")
)
)
(setq AIT-x nil)
)
(if (= AIT_x "A")
(progn
(command EAITlay EAITlfr "EAIT3d_det" "")
(if AIT-x (EAITmsg "mb_mld1" "\n" "014" nil))
)
(progn
(command EAITlay EAITlta "EAIT3d_det" "")
(command EAITreg)
(princ)
(if AIT-x (EAITmsg "mb_mld1" "\n" "013" nil))
)
)
(princ)
);defun EAITdta
;Hilfslayer EIN/AUS, wenn "E" oder "A" ohne Meldung
(defun EAIThla (AIT_x / AIT-x)
(if (not AIT_x)
(progn
(setq AIT-x "J")
(if (OR (= (cdr (assoc 70 (tblsearch "layer" "EAIThilfe"))) 64)
(= (cdr (assoc 70 (tblsearch "layer" "EAIThilfe"))) 0))
(setq AIT_x "A")
(setq AIT_x "E")
)
)
(setq AIT-x nil)
)
(if (= AIT_x "A")
(progn
(command EAITlay EAITlfr "EAIT3d_hlf" EAITlfr "EAIThilfe" "")
(if (tblsearch "layer" "AIT$hilfe")
(command EAITlay EAITlfr "AIT$hilfe" "")
)
(if (tblsearch "layer" "AIT$3D_hlf")
(command EAITlay EAITlfr "AIT$3D_hlf" "")
)
(if AIT-x (EAITmsg "mb_mld1" "\n" "012" nil))
)
(progn
(command EAITlay EAITlta "EAIT3d_hlf" EAITlta "EAIThilfe" "")
(if (tblsearch "layer" "AIT$hilfe")
(command EAITlay EAITlta "AIT$hilfe" "")
)
(if (tblsearch "layer" "AIT$3D_hlf")
(command EAITlay EAITlta "AIT$3D_hlf" "")
)
(if AIT-x (EAITmsg "mb_mld1" "\n" "011" nil))
)
)
(princ)
);defun EAIThla
;Hilfslayer EIN/AUS, wenn "E" oder "A" ohne Meldung gleiche Funktion wie oben
;jedoch fⁿr den Aufruf aus dem Menⁿ zusΣtzlich mit dem REGEN-Befehl
(defun EAIThlam (AIT_x / AIT-x)
(if (not AIT_x)
(progn
(setq AIT-x "J")
(if (OR (= (cdr (assoc 70 (tblsearch "layer" "EAIThilfe"))) 64)
(= (cdr (assoc 70 (tblsearch "layer" "EAIThilfe"))) 0))
(setq AIT_x "A")
(setq AIT_x "E"))
)
(setq AIT-x nil)
)
(if (= AIT_x "A")
(progn
(command EAITlay EAITlfr "EAIT3d_hlf" EAITlfr "EAIThilfe" "")
(if (tblsearch "layer" "AIT$hilfe")
(command EAITlay EAITlfr "AIT$hilfe" "")
)
(if (tblsearch "layer" "AIT$3D_hlf")
(command EAITlay EAITlfr "AIT$3D_hlf" "")
)
(if AIT-x (EAITmsg "mb_mld1" "\n" "012" nil))
)
(progn
(command EAITlay EAITlta "EAIT3d_hlf" EAITlta "EAIThilfe" "")
(command EAITreg)(princ)
(if (tblsearch "layer" "AIT$hilfe")
(progn
(command EAITlay EAITlta "AIT$hilfe" "")
(command EAITreg)(princ)
)
)
(if (tblsearch "layer" "AIT$3D_hlf")
(progn
(command EAITlay EAITlta "AIT$3D_hlf" "")
(command EAITreg)(princ)
)
)
(if AIT-x (EAITmsg "mb_mld1" "\n" "011" nil))
)
)
(princ)
);defun EAIThlam
;INFOlayer EIN/AUS, wenn "E" oder "A" ohne Meldung
(defun EAITst-e-a (AIT_x / AIT-x)
(if (not AIT_x)
(progn
(setq AIT-x "J")
(if (OR (= (cdr (assoc 70 (tblsearch "layer" "EAITinfo"))) 64)
(= (cdr (assoc 70 (tblsearch "layer" "EAITinfo"))) 0))
(setq AIT_x "A")
(setq AIT_x "E"))
)
(setq AIT-x nil)
)
(if (= AIT_x "A")
(progn
(command EAITlay EAITlfr "EAITinfo" "")
(if (tblsearch "layer" "AIT$info")
(command EAITlay EAITlfr "AIT$info" "")
)
(if AIT-x (EAITmsg "mb_mld15" "\n" "014" nil))
)
(progn
(command EAITlay EAITlta "EAITinfo" "")
(if (tblsearch "layer" "AIT$info")
(command EAITlay EAITlta "AIT$info" "")
)
(if AIT-x (EAITmsg "mb_mld15" "\n" "015" nil))
)
)
(princ)
); defun EAITst-e-a
;INFOlayer EIN/AUS, wenn "E" oder "A" ohne Meldunggleiche Funktion wie oben
;jedoch fⁿr den Aufruf aus dem Menⁿ zusΣtzlich mit dem REGEN-Befehl
(defun EAITst-e-a-m (AIT_x / AIT-x)
(if (not AIT_x)
(progn
(setq AIT-x "J")
(if (OR (= (cdr (assoc 70 (tblsearch "layer" "EAITinfo"))) 64)
(= (cdr (assoc 70 (tblsearch "layer" "EAITinfo"))) 0))
(setq AIT_x "A")
(setq AIT_x "E"))
)
(setq AIT-x nil)
)
(if (= AIT_x "A")
(progn
(command EAITlay EAITlfr "EAITinfo" "")
(if (tblsearch "layer" "AIT$info")
(command EAITlay EAITlfr "AIT$info" "")
)
(if AIT-x (EAITmsg "mb_mld15" "\n" "014" nil))
)
(progn
(command EAITlay EAITlta "EAITinfo" "")
(command EAITreg)(princ)
(if (tblsearch "layer" "AIT$info")
(progn
(command EAITlay EAITlta "AIT$info" "")
(command EAITreg)(princ)
)
)
(if AIT-x (EAITmsg "mb_mld15" "\n" "015" nil))
)
)
(princ)
); defun EAITst-e-a-m
;3D_view Layer EIN/AUS, wenn "E" oder "A" ohne Meldunggleiche Funktion wie oben
;jedoch fⁿr den Aufruf aus dem Menⁿ zusΣtzlich mit dem REGEN-Befehl
(defun EAITvplam (AIT_x / AIT-x)
(if (not AIT_x)
(progn
(setq AIT-x "J")
(if (OR (= (cdr (assoc 70 (tblsearch "layer" "EAIT3d_view"))) 64)
(= (cdr (assoc 70 (tblsearch "layer" "EAIT3d_view"))) 0))
(setq AIT_x "A")
(setq AIT_x "E"))
)
(setq AIT-x nil)
)
(if (= AIT_x "A")
(progn
(command EAITlay EAITlfr "EAIT3d_view" "")
(if AIT-x (EAITmsg "mb_mld21" "\n" "067" nil))
)
(progn
(command EAITlay EAITlta "EAIT3d_view" "")
(command EAITreg)(princ)
(if AIT-x (EAITmsg "mb_mld21" "\n" "068" nil))
)
)
(princ)
); defun EAITvplam
;Datenbank auslesen
(defun EAITDBL (AIT_nrx / AIT-da)
; (setq AIT-da (open (strcat EAITpfn "dat/" AIT_nrx ".dat") "r") EAITnr nil)
(setq AIT-da (open (strcat EAITpfd AIT_nrx ".dat") "r") EAITnr nil)
(if AIT-da
(progn
(setq EAITnr (read-line AIT-da)
EAITnrx (read-line AIT-da)
EAITbez1 (read-line AIT-da)
EAITbez2 (read-line AIT-da)
EAITwer1 (read-line AIT-da)
EAITwer2 (read-line AIT-da)
EAITlie1 (read-line AIT-da)
EAITlie2 (read-line AIT-da)
EAITlmax (atof (read-line AIT-da))
EAITbmax (atof (read-line AIT-da))
EAITme (read-line AIT-da)
EAITgew (atof (read-line AIT-da))
EAITinf1 (read-line AIT-da)
EAITinf2 (read-line AIT-da)
EAITinf3 (read-line AIT-da)
EAITinf4 (read-line AIT-da)
EAITinf5 (read-line AIT-da)
EAITinf6 (read-line AIT-da)
EAITinf7 (read-line AIT-da)
EAITinf8 (read-line AIT-da)
EAITinf9 (read-line AIT-da)
EAITinf10 (read-line AIT-da)
EAITtyp (read-line AIT-da) ;3D-Typ
EAITmen3 (read-line AIT-da) ;p=
EAITrot (read-line AIT-da) ;i=
EAITlmin (atof (read-line AIT-da))
EAITgraf EAITnrx
EAITl1 0.0
EAITb1 0.0
EAITl2 0.0
EAITb2 0.0
EAITt1 1.0
EAITve " "
)
(close AIT-da)
)
(progn
(EAITmsg "mb_mld1" "\n\n" "009" nil)(princ " \"")(princ AIT_nrx)(princ "\" ")(EAITmsg "mb_mld1" nil "010" "\n")
;Aenderung Hauer - 23.12.96
;EAITbez1 und EAITmen3 werden bei nicht gefundener dat-Datei
;mit Dummy-Werten belegt
(setq AIT_nrx nil
EAITbez1 "unbekannt"
EAITmen3 "p3=*"
)
;Ende Aenderung Hauer - 23.12.96
)
)
); defun EAITDBL
;Grad in Bogen
(defun EAITgib (AIT_w) (/ (* AIT_w Pi) 180))
;Bogen in Grad
(defun EAITbig (AIT_w) (/ (* AIT_w 180) Pi))
;MB verlassen
(defun EAITend ( / )
(setq EAITaver (substr (getvar "ACADVER") 1 2)
EAITplat (substr (getvar "PLATFORM") 1 17)
)
(cond ((= EAITaver "12")
(if (/= EAITmainmen "")
(command EAITmen EAITmainmen)
)
)
((AND (= EAITaver "13")(/= EAITplat "Microsoft Windows"))
(if (/= EAITmainmen "")
(command EAITmen EAITmainmen)
)
)
((OR (= EAITaver "14")(AND (= EAITaver "13")(= EAITplat "Microsoft Windows")))
(if (/= EAITmainmen "")(command EAITmen EAITmainmen))
(if (/= EAITtmen0 "")(command EAITmenl EAITtmen0))
(if (/= EAITtmen1 "")(command EAITmenl EAITtmen1))
(if (/= EAITtmen2 "")(command EAITmenl EAITtmen2))
(if (/= EAITtmen3 "")(command EAITmenl EAITtmen3))
(if (/= EAITtmen4 "")(command EAITmenl EAITtmen4))
(if (/= EAITtmen5 "")(command EAITmenl EAITtmen5))
(if (/= EAITtmen6 "")(command EAITmenl EAITtmen6))
(if (/= EAITtmen7 "")(command EAITmenl EAITtmen7))
(if (/= EAITtmen8 "")(command EAITmenl EAITtmen8))
(if (/= EAITtmen9 "")(command EAITmenl EAITtmen9))
(if (/= EAITtabmen1 "")(menucmd (strcat "T1=" EAITtabmen1)))
(if (/= EAITtabmen2 "")(menucmd (strcat "T2=" EAITtabmen2)))
(if (/= EAITtabmen3 "")(menucmd (strcat "T3=" EAITtabmen3)))
(if (/= EAITtabmen4 "")(menucmd (strcat "T4=" EAITtabmen4)))
(if (/= EAITtabmen5 "")(menucmd (strcat "T5=" EAITtabmen5)))
)
);cond
(setvar "CMDECHO" EAITcecho)(setvar "MENUECHO" EAITmecho)(setvar "UCSICON" EAITuicon)
(setq *error* EAITera EAITera nil)
(grtext)
(princ)
);defun EAITend
;Sammeln von Elementen von E an
(defun EAITss (E / SS1)
(setq SS1 (ssadd))
(while E (setq SS1 (ssadd E SS1) E (entnext E)))
(setq SS1 SS1)
);defun EAITss
;aktuelle Variablen-Belegung vor dem Programmstart
(defun EAITvari ()
(setq EAITsl '("ANGBASE" "ANGDIR" "APERTURE" "ATTDIA" "ATTMODE" "ATTREQ"
"AUNITS" "AUPREC" "BLIPMODE" "DRAGMODE" "DRAGP1" "DRAGP2"
"EXPERT" "HIGHLIGHT" "LIMCHECK" "LUNITS" "LUPREC" "ORTHOMODE"
"OSMODE" "PICKBOX" "REGENMODE" "SNAPMODE" "UCSFOLLOW"
)
)
;*********************
(setq EAITbksn (getvar "ucsname")
EAITbkso (getvar "ucsorg")
EAITbksx (getvar "ucsxdir")
EAITbksy (getvar "ucsydir")
)
;*********************
(EAITvme EAITsl)
(setq EAITofang (getvar "osmode"))
(cond ((= EAITofang 0)(setq EAITofn 0 EAITofx EAITofKEI))
((= EAITofang 1)(setq EAITofn 1 EAITofx EAITofEND))
((= EAITofang 2)(setq EAITofn 2 EAITofx EAITofMIT))
((= EAITofang 4)(setq EAITofn 4 EAITofx EAITofZEN))
((= EAITofang 8)(setq EAITofn 8 EAITofx EAITofPUN))
((= EAITofang 16)(setq EAITofn 16 EAITofx EAITofQUA))
((= EAITofang 32)(setq EAITofn 32 EAITofx EAITofSCH))
((= EAITofang 64)(setq EAITofn 64 EAITofx EAITofBAS))
((= EAITofang 128)(setq EAITofn 128 EAITofx EAITofLOT))
((= EAITofang 256)(setq EAITofn 256 EAITofx EAITofTAN))
((= EAITofang 512)(setq EAITofn 512 EAITofx EAITofNÄC))
((= EAITofang 1024)(setq EAITofn 1024 EAITofx EAITofQUI))
(T (setq EAITofn 0 EAITofx EAITofKEI))
)
(setq EAITal (getvar "CLAYER"))
(princ)
);defun EAITvari
;benötigte Variablen-Belegung
(defun EAITvars ()
(setq EAITera *error* *error* EAITerr EAITmen2 nil)
(setvar "ANGBASE" 0) (setvar "ANGDIR" 0) (setvar "ATTDIA" 0) (setvar "ATTMODE" 1)
(setvar "ATTREQ" 1) (setvar "AUNITS" 0) (setvar "AUPREC" 3) (setvar "BLIPMODE" 0)
(setvar "CMDECHO" 0) (setvar "DRAGMODE" 2) (setvar "DRAGP1" 10) (setvar "DRAGP2" 25)
(setvar "EXPERT" 0) (setvar "HIGHLIGHT" 1)(setvar "LIMCHECK" 0) (setvar "LUNITS" 2)
(setvar "LUPREC" 3) (setvar "MENUECHO" 5) (setvar "ORTHOMODE" 0)(setvar "OSMODE" 0)
(setvar "PICKBOX" 5) (setvar "REGENMODE" 0)(setvar "SNAPMODE" 0)(setvar "UCSFOLLOW" 0)
;Hilfslayer EIN / Details AUS
(EAITdta "A") (EAIThla "E") (EAITst-e-a "E")
(princ)
);EAITvars
;Variablen auf Ursprungswerte zurücksetzen
(defun EAITvarz ( / )
(EAITvzu EAITsl EAITvw)
(setq *error* EAITera)
(command EAITlay EAITlse EAITal "")
(terpri)(princ)
(setvar "cmdecho" 0) (setvar "menuecho" 5)
);EAITvarz
;*** Rücksetzen des BKS
(defun EAITbksz ( / )
(cond ((AND (= EAITbksn "")(= EAITbkso '(0 0) )(= EAITbksx '(1.0 0.0 0.0) )(= EAITbksy '(0.0 1.0 0.0) ))
(command EAITbks EAITbwe)
)
((/= EAITbksn "")
(command EAITbks EAITbho EAITbksn)
)
(T
(command EAITbks EAITbwe)
)
)
);EAITbksz
;Speichert Systemvariablen
(defun EAITvme (EAITsl / )
(setq EAITvw (mapcar 'getvar EAITsl))
)
;Speichert Systemvariablen zurück
(defun EAITvzu (EAITsl EAITvw / )
(mapcar 'setvar EAITsl EAITvw)
)
;Fehler-Behandlung
(defun EAITerr (AIT_st)
(command)
;********************* Rücksetzen des BKS
(cond ((AND (= EAITbksn "")(= EAITbkso '(0 0) )(= EAITbksx '(1.0 0.0 0.0) )(= EAITbksy '(0.0 1.0 0.0) ))
(command EAITbks EAITbwe)
)
((/= EAITbksn "")
(command EAITbks EAITbho EAITbksn)
)
(T
(command EAITbks EAITbwe)
)
)
;************************
(prompt "\nEAitem: ")(princ AIT_st)(princ)
(EAITvzu EAITsl EAITvw)
(command EAITlay EAITlse EAITal "")
(if (/= AIT-atst nil)(command EAITtst AIT-atst AIT-tl3 AIT-tl40 AIT-tl41 AIT-tl50 "" "" ""))
(setq *error* EAITera EAITera nil)
(menucmd "p1=*")
(terpri)(princ)
);defun EAITerr
;Hauptblock eines zusammengesetzten Elementes
(defun EAIThb (AIT_eb1 / AIT-eb2 AIT-ind AIT-ref AIT-en AIT-nam1 AIT-nam2)
(setq AIT-ind (atoi (EAITdxf 1 (entget (entnext AIT_eb1))))
AIT-ref (EAITdxf 5 (entget AIT_eb1))
AIT-nam1 (substr (EAITdxf 2 (entget AIT_eb1)) 1 7)
)
(while (> AIT-ind 0)
(setq AIT-ref (ITOH (1- (HTOI AIT-ref)))
AIT-eb2 (handent AIT-ref)
)
(while (and (not AIT-eb2)(> AIT-ref "0"))
(setq AIT-ref (ITOH (1- (HTOI AIT-ref)))
AIT-eb2 (handent AIT-ref)
)
)
(if (= (EAITdxf 0 (entget AIT-eb2)) "INSERT")(setq AIT-ind (1- AIT-ind)))
)
;Hauptelement?
(setq AIT-nam2 (EAITdxf 2 (entget AIT-eb2)))
(if (> (strlen AIT-nam2) 7)(setq AIT-nam2 (substr AIT-nam2 1 7)) )
(if (= AIT-nam1 AIT-nam2) (setq AIT_eb1 AIT-eb2) (setq AIT_eb1 AIT_eb1) )
);defun EAIThb
;Integer TO Hexadezimal
(defun ITOH (AIT_dez / AIT-hexm AIT-hex AIT-int AIT-rest)
(setq AIT-hexm "0123456789ABCDEF"
AIT-hex ""
)
(while (> AIT_dez 0)
(setq AIT-int (fix (/ AIT_dez 16))
AIT-rest (- AIT_dez (* AIT-int 16))
AIT-hex (strcat (substr AIT-hexm (1+ AIT-rest) 1) AIT-hex)
AIT_dez AIT-int
)
)
(if (= AIT-hex "")(setq AIT-hex "0")(setq AIT-hex AIT-hex))
)
;Integer TO Hexadezimal
(defun HTOI (AIT_hex / AIT-int AIT-len AIT-pot AIT-chr)
(setq AIT_hex (strcase AIT_hex)
AIT-int 0
AIT-pot 0
AIT-len (strlen AIT_hex)
)
(while (> AIT-len 0)
(setq AIT-chr (ascii (substr AIT_hex AIT-len 1)) )
(cond ((and (> AIT-chr 47)(< AIT-chr 58)) (setq AIT-int (+ AIT-int (* (- AIT-chr 48) (expt 16 AIT-pot))) ) )
((and (> AIT-chr 64)(< AIT-chr 71)) (setq AIT-int (+ AIT-int (* (- AIT-chr 55) (expt 16 AIT-pot))) ) )
(T (setq AIT-int 0 AIT-len 1))
)
(setq AIT-len (1- AIT-len)
AIT-pot (1+ AIT-pot)
)
)
(fix AIT-int)
)
;Pos-Nr in Stückliste für Hauptelement + Subelemente
(defun EAITposx (AIT_Posy AIT_Pos AIT_Idx / AIT-posy AIT-n AIT-len AIT-nx
AIT-posx AIT-dn AIT-nv AIT-n1 AIT-n2
AIT-n3 AIT-n4 AIT-n5 AIT-n6)
(setq AIT-n 1
AIT-nv 0
AIT-nx 0
AIT-n1 ","
AIT-n2 ","
AIT-n3 ","
AIT-n4 ","
AIT-n5 ","
AIT-n6 ","
AIT-len (strlen AIT_Posy)
)
(while (<= AIT-n AIT-len)
(if (= (substr AIT_Posy AIT-n 1) ",")
(progn
(setq AIT-nx (+ AIT-nx 1)
AIT-dn (- AIT-n AIT-nv)
AIT-nv (+ AIT-nv 1)
)
(cond ((= AIT-nx 1)(setq AIT-n1 (substr AIT_Posy AIT-nv AIT-dn)) )
((= AIT-nx 2)(setq AIT-n2 (substr AIT_Posy AIT-nv AIT-dn)) )
((= AIT-nx 3)(setq AIT-n3 (substr AIT_Posy AIT-nv AIT-dn)) )
((= AIT-nx 4)(setq AIT-n4 (substr AIT_Posy AIT-nv AIT-dn)) )
((= AIT-nx 5)(setq AIT-n5 (substr AIT_Posy AIT-nv AIT-dn)) )
(T (setq AIT-n6 (substr AIT_Posy AIT-nv AIT-dn)) )
)
(setq AIT-nv AIT-n)
)
)
(setq AIT-n (+ AIT-n 1))
)
(if (> AIT-len 0)
(progn
(setq AIT-nx (+ AIT-nx 1)
AIT-dn (- AIT-n AIT-nv)
AIT-nv (+ AIT-nv 1)
)
(cond ((= AIT-nx 1)(setq AIT-n1 (strcat (substr AIT_Posy 1 AIT-len) ",")))
((= AIT-nx 2)(setq AIT-n2 (strcat (substr AIT_Posy AIT-nv AIT-dn) ",")))
((= AIT-nx 3)(setq AIT-n3 (strcat (substr AIT_Posy AIT-nv AIT-dn) ",")))
((= AIT-nx 4)(setq AIT-n4 (strcat (substr AIT_Posy AIT-nv AIT-dn) ",")))
((= AIT-nx 5)(setq AIT-n5 (strcat (substr AIT_Posy AIT-nv AIT-dn) ",")))
((= AIT-nx 6)(setq AIT-n6 (strcat (substr AIT_Posy AIT-nv AIT-dn) ",")))
)
)
)
(if (= AIT_Pos 0)(setq AIT-posx "")(setq AIT-posx (strcat (itoa AIT_Pos) ",")))
(cond ((= AIT_Idx 2)(setq AIT-n2 AIT-posx))
((= AIT_Idx 3)(setq AIT-n3 AIT-posx))
((= AIT_Idx 4)(setq AIT-n4 AIT-posx))
((= AIT_Idx 5)(setq AIT-n5 AIT-posx))
((= AIT_Idx 6)(setq AIT-n6 AIT-posx))
(T (setq AIT-n1 AIT-posx))
)
(setq AIT-posy (strcat AIT-n1 AIT-n2 AIT-n3 AIT-n4 AIT-n5 AIT-n6)
AIT-len (strlen AIT-posy)
)
(while (and (> AIT-len 0)(= (substr AIT-posy AIT-len 1) ","))
(setq AIT-len (- AIT-len 1)
AIT-posy (substr AIT-posy 1 AIT-len)
)
)
(setq AIT-posy AIT-posy)
);defun EAITposx
;Checken von Abmessungen
(defun EAITck ( Eing / )
(while (or (< Eing EAITlmin) (> Eing EAITlmax))
(EAITabm_warn)
(initget (+ 1 2 4))
(EAITmsg "mb_mld13" "\n" "007" nil) ;Neue Eingabe :
(setq Eing (getdist))
(if (= Eing nil)(setq Eing EAITlpr))
)
(setq EAITlpr Eing)
(setq Eing Eing)
);defun EAITck
;Warnung mit Dialogbox bei falscher Eingabe von Abmessungen
(defun EAITabm_warn ( / dcl_id )
(if (< (setq dcl_id (load_dialog (strcat EAITpfd "EAITem.dcl"))) 0)
(exit)
)
(new_dialog "abm_warnung" dcl_id)
(set_tile "Titel" (EAITmg "mb_mld15" "016"))
(set_tile "Meldung10" (EAITmg "mb_mld13" "010"))
(if (OR (= EAITtyp "B1")(= EAITtyp "B2"))
(set_tile "Meldung11" (strcat (EAITmg "mb_mld13" "001")(EAITmg "mb_mld13" "002") " " (rtos EAITlmin 2 1) " x "(rtos EAITlmin 2 1) " mm " (EAITmg "mb_mld13" "003") (rtos EAITlmax 2 1) " x " (rtos EAITbmax 2 1) " mm"))
(set_tile "Meldung11" (strcat (EAITmg "mb_mld13" "001")(EAITmg "mb_mld13" "002") " " (rtos EAITlmin 2 1) " mm " (EAITmg "mb_mld13" "003") " " (rtos EAITlmax 2 1) " mm"))
)
(action_tile "accept" "(done_dialog 1)")
(setq what_next (start_dialog))
(unload_dialog dcl_id)
);Defun EAITabm_warn
;alte Zeichnungen umsetzen
(if (AND (tblsearch "BLOCK" "AIT$INFO")(NOT (tblsearch "BLOCK" "EAITINFO")))
(progn
(load (strcat EAITpfn "EAITkonv"))
(EAITkonvinfo)
)
)
(if (AND (tblsearch "BLOCK" "AIT$MERK")(NOT (tblsearch "BLOCK" "EAITMERK")))
(progn
(load (strcat EAITpfn "EAITkonv"))
(EAITkonvmerk)
)
)
(if (AND (tblsearch "BLOCK" "AIT$STP1")(NOT (tblsearch "BLOCK" "EAITSTP1")))
(progn
(load (strcat EAITpfn "EAITkonv"))
(EAITkonvstp1)
)
)
(if (AND (tblsearch "BLOCK" "AIT$STP2")(NOT (tblsearch "BLOCK" "EAITSTP2")))
(progn
(load (strcat EAITpfn "EAITkonv"))
(EAITkonvstp2)
)
)
(if (AND (tblsearch "BLOCK" "AIT$STP3")(NOT (tblsearch "BLOCK" "EAITSTP3")))
(progn
(load (strcat EAITpfn "EAITkonv"))
(EAITkonvstp3)
)
)
(if (AND (tblsearch "BLOCK" "AIT$STP4")(NOT (tblsearch "BLOCK" "EAITSTP4")))
(progn
(load (strcat EAITpfn "EAITkonv"))
(EAITkonvstp4)
)
)
;Logo
(EAITmsg "mb_mld1" "\n\n" "001" nil)
;MB-Informationen zur Zeichnung holen
(EAITmkr "L" nil)
;************************************************************************
; Item - Projektarbeiten Hauer Beginn
; Stand: 28.12.1996
;************************************************************************
;---------------------------------------------------------------------------
;Definieren der Funktion zur Anzeige der item - Info
(defun EAITueber ()
(setq dat_zeig2 (load_dialog (strcat EAITpfd "EAITem.DCL")))
(if (not (new_dialog "INFO" dat_zeig2)) (exit))
;Textdatei aufrufen:
(setq aus (strcat EAITpfd "EAIT_H.TXT")
aus1 (open aus "r")
stichwort ":info"
)
;Dia fuellen:
(start_image "infologo")
(setq xxl (dimx_tile "infologo")
yyl (dimy_tile "infologo")
)
(slide_image 0 0 xxl yyl (strcat EAITpfn "eaitnew(logo)"))
(end_image)
;Listbox fuellen:
(setq schleife T)
(start_list "infotxt" 3)
(while schleife
(setq zeile (read-line aus1))
(if (= zeile stichwort)
(progn
(while (/= zeile ":ende")
(setq zeile (read-line aus1))
(if (/= zeile ":ende") (add_list zeile))
)
(setq schleife nil)
)
)
)
(end_list)
(close aus1)
(start_dialog)
(action_tile "accept" "(done_dialog 0)")
(unload_dialog dat_zeig2)
(princ)
)
;----------------------------------------------------------------------------
;Definieren der Datei zur allgemeinen Hilfe - Anzeige
(defun EAIThilfe ()
;Definition von Stichwort und Thema
;-Stichwort: Texteintrag hinter welchem sich beschreibender Text verbirgt
;-Thema: Hilfethema auf dem Bildschirm
(setq
stichwort ":begin_help"
thema (EAITmg "mb_mld21" "013");Allgemeiner Gebrauch der Hilfe
)
(hilfe stichwort thema)
(princ)
)
;----------------------------------------------------------------------------
;Definieren der Hilfefunktion aus dem Programm heraus
(defun hilfe (stichwort thema / dat_zeighelp aus aus1 schleife zeile
)
(setq aus (strcat EAITpfd "EAIT_H.TXT")
aus1 (open aus "r")
)
(setq dat_zeighelp (load_dialog (strcat EAITpfd "EAITem.DCL")))
(if (not (new_dialog "HILFE" dat_zeighelp)) (exit))
(set_tile "thema" thema)
(setq schleife T)
(start_list "help" 3)
(while schleife
(setq zeile (read-line aus1))
(if (= zeile stichwort)
(progn
(while (/= zeile ":ende")
(setq zeile (read-line aus1))
(if (/= zeile ":ende") (add_list zeile))
)
(setq schleife nil)
)
)
)
(end_list)
(action_tile "accept" "(done_dialog 0)")
(action_tile "index" "(helpindex) (list_fuell)")
(start_dialog)
(unload_dialog dat_zeighelp)
(close aus1)
(princ)
)
;----------------------------------------------------------------------------
;Definieren der Listbox-Fuellfunktion bei Indexauswahl
(defun list_fuell (/ ausl ausl1 schleifel zeilel)
(if (/= thema3 nil)
(progn
(setq ausl (strcat EAITpfd "EAIT_H.TXT")
ausl1 (open ausl "r")
)
(set_tile "thema" thema1)
(setq schleifel T)
(start_list "help" 3)
(while schleifel
(setq zeilel (read-line ausl1))
(if (= zeilel thema3)
(progn
(while (/= zeilel ":ende")
(setq zeilel (read-line ausl1))
(if (/= zeilel ":ende") (add_list zeilel))
)
(setq schleifel nil)
)
)
)
(end_list)
(setq thema3 nil
thema1 nil
)
)
)
(princ)
)
;----------------------------------------------------------------------------
;Definieren der Hilfe-Indexfunktion
(defun helpindex (/ datzeigindex ausi ausi1 schleifei zeilei dialogwerthelp
indexthema themenlist
)
(setq ausi (strcat EAITpfd "EAIT_H.TXT")
ausi1 (open ausi "r")
themenlist (list)
)
(setq dat_zeigindex (load_dialog (strcat EAITpfd "EAITem.DCL")))
(if (not (new_dialog "HELPINDEX" dat_zeigindex)) (exit))
(setq schleifei T)
(start_list "helpindex" 3)
(while schleifei
(setq zeilei (read-line ausi1))
(if (= zeilei "/index_start")
(progn
(while (/= zeilei "/index_end")
(setq zeilei (read-line ausi1))
(if (and (/= (substr zeilei 1 1) "/") (/= zeilei "/index_end"))
(progn
(setq themenlist (cons zeilei themenlist))
(add_list zeilei)))
)
(setq schleifei nil)
)
)
)
(end_list)
(action_tile "helpindex" "(setq indexthema $value)(indexauswertung indexthema themenlist)")
(action_tile "ok" "(done_dialog 0)")
(start_dialog)
(unload_dialog dat_zeigindex)
(close ausi1)
(princ)
)
;----------------------------------------------------------------------------
;Definieren der Funktion der Indexauswertung
(defun indexauswertung (indexthema themenlist / ausix ausix1
schleifeix zeileix thema2)
(setq themenlist (reverse themenlist)
thema1 (nth (atoi indexthema) themenlist)
)
(setq ausix (strcat EAITpfd "EAIT_H.TXT")
ausix1 (open ausix "r")
)
(setq schleifeix T)
(while schleifeix
(setq zeileix (read-line ausix1))
(if (= zeileix "/index_start")
(progn
(while (/= zeileix thema1)
(setq zeileix (read-line ausix1))
(if (= zeileix thema1)
(progn
(setq thema2 (read-line ausix1))
)
)
(setq schleifeix nil)
)
)
)
)
(setq l1 (strlen thema2)
thema3 (substr thema2 2 (- l1 1))
thema3 (strcat ":" thema3)
)
(close ausix1)
(princ)
)
;----------------------------------------------------------------------------
;************************************************************************
;Item - Projektarbeiten Hauer Ende
;************************************************************************
(princ)